package com.jbp.controller;

import com.jbp.model.UnionUser;
import com.jbp.model.Unioner;
import com.jbp.service.UnionUserService;
import com.jbp.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;

/**
 * 工会用户(UnionUser)表控制层
 * @author cc
 * @since 2021-08-05 20:48:19
 */
@Api(tags ="APP接口--UnionUser" )
@RestController
@RequestMapping("rest/unionUser")
public class UnionUserController {
    @Autowired
    private UnionUserService unionUserService;

    /**查询工会信息*/
    @GetMapping("/getByUuid")
    public R getByUuid(@RequestAttribute("userId") Integer userId,@RequestParam(value = "unionUuid", required = true) Integer unionUuid ) {
        if(unionUuid==null) {
            return R.error("请输入工会id");
        }
        UnionUser unioner = unionUserService.getUnionByUUid(userId, unionUuid);
        return R.ok(unioner);
    }

    /** 申请加入 */
    @PostMapping("/apply")
    public R apply(@RequestAttribute("userId") Integer userId, @RequestParam("unionId") Integer unionId) {
        if(unionId==null) {
            return R.error("请输入工会id");
        }
        unionUserService.apply(userId, unionId);
        return R.ok();
    }

    /** 撤销加入申请 */
    @PostMapping("/cacleApply")
    public R cacleApply(@RequestAttribute("userId") Integer userId, @RequestParam("unionId") Integer unionId) {
        if(unionId==null) {
            return R.error("请输入工会id");
        }
        unionUserService.cacleApply(userId, unionId);
        return R.ok();
    }

    /** 申请退出 */
    @PostMapping("/quit")
    public R quit(@RequestAttribute("userId") Integer userId, @RequestParam("unionId") Integer unionId) {
        if(unionId==null) {
            return R.error("请输入工会id");
        }
        unionUserService.quit(userId, unionId);
        return R.ok();
    }

    /** 申请退出 */
    @PostMapping("/cancleQuit")
    public R cancleQuit(@RequestAttribute("userId") Integer userId, @RequestParam("unionId") Integer unionId) {
        if(unionId==null) {
            return R.error("请输入工会id");
        }
        unionUserService.cancleQuit(userId, unionId);
        return R.ok();
    }

    /** 我的工会 */
    @GetMapping("/myUnion")
    public R myUnion(@RequestAttribute("userId") Integer userId) {
        UnionUser unioner = unionUserService.myUnion(userId);
        return R.ok(unioner);
    }
}